package com.cleaningcloud.erp.service;

import java.util.List;
import com.cleaningcloud.erp.domain.ErpWareAllocate;
import com.cleaningcloud.erp.domain.dto.ErpWareAllocateDto;
import com.cleaningcloud.erp.domain.vo.ErpWareAllocateVo;

/**
 * 调拨Service接口
 * 
 * @author cleaningcloud
 * @date 2024-10-08
 */
public interface IErpWareAllocateService 
{
    /**
     * 查询调拨
     * 
     * @param wareAllocateId 调拨主键
     * @return 调拨
     */
    ErpWareAllocateVo selectErpWareAllocateByWareAllocateId(Long wareAllocateId);

    /**
     * 查询调拨列表
     * 
     * @param erpWareAllocate 调拨
     * @return 调拨集合
     */
    List<ErpWareAllocateVo> selectErpWareAllocateList(ErpWareAllocate erpWareAllocate);

    /**
     * 新增调拨
     * 
     * @param erpWareAllocate 调拨
     * @return 结果
     */
    int insertErpWareAllocate(ErpWareAllocateDto erpWareAllocate);

    /**
     * 修改调拨
     * 
     * @param erpWareAllocate 调拨
     * @return 结果
     */
    int updateErpWareAllocate(ErpWareAllocateDto erpWareAllocate);

    /**
     * 批量删除调拨
     * 
     * @param wareAllocateIds 需要删除的调拨主键集合
     * @return 结果
     */
    int deleteErpWareAllocateByWareAllocateIds(Long[] wareAllocateIds);

    /**
     * 删除调拨信息
     * 
     * @param wareAllocateId 调拨主键
     * @return 结果
     */
    int deleteErpWareAllocateByWareAllocateId(Long wareAllocateId);


    /**
     * 审核库存调拨单
     * @param erpWareAllocate
     * @return
     */
    int auditErpWareAllocate(ErpWareAllocate erpWareAllocate);
}
